﻿using System;
using System.Collections.Generic;
using System.Security.Permissions;
using App.Interface;
using Domain.Entidades;
using Domain.Interfaces.Servicos;

namespace App
{
    public class SolicitacaoAppService : AppServiceBase<solicitacoes_impressoras>, ISolicitacaoAppService
    {
        private readonly ISolicitacaoService _solicitacaoAppService;

        public SolicitacaoAppService(ISolicitacaoService solicitacaoAppService) : base(solicitacaoAppService)

        {
            _solicitacaoAppService = solicitacaoAppService;
        }


        public IEnumerable<VW_solicitacoes_impressoras> Listar(DateTime dt1, DateTime dt2)
        {

            try 
            {
                return _solicitacaoAppService.Listar(dt1, dt2);
            }
            catch (Exception ex)
            {

                throw ex;
            }




        }
        public void Inserir(solicitacoes_impressoras sol)
        {
            try
            {
                _solicitacaoAppService.Inserir(sol);
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public string carrega_impressora(int unidade, int setor)
        {
            try
            {
                return _solicitacaoAppService.carrega_impressora(unidade, setor);
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }



        public string carrega_nserie(int impressora)
        {

            try
            {
               return _solicitacaoAppService.carrega_nserie(impressora);
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public IEnumerable<tipo_solicitacao> carrega_tipo_solicitacoes()
        {
            try
            {
                return _solicitacaoAppService.carrega_tipo_solicitacoes();
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public void deletar(solicitacoes_impressoras sol)
        {
            try
            {
                _solicitacaoAppService.deletar(sol);

            }
            catch (Exception ex)
            {

                throw ex;
            }

        }
           

      public solicitacoes_impressoras GetId(Int64 codigo)
        {
            try
            {
                return _solicitacaoAppService.GetId(codigo);

            }
            catch (Exception ex)
            {


                throw ex;
            }

        }


       public VW_solicitacoes_impressoras carrega_sol_email(Int64 codigo)
        {
          try
            {
               return _solicitacaoAppService.carrega_sol_email(codigo);
             }
            catch (Exception ex)
            {

                throw ex;
            }
        
        }

        public void enviar_email(VW_solicitacoes_impressoras sol, VW_usuarios user, string tipo)
        {
            try
            {
               _solicitacaoAppService.enviar_email(sol,user,tipo);
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

    }
}
